The present invention relates to a method for processing messages communicated over a network and, more particularly to processing such messages which are directed to a group of recipients.
On a computer network, a mail message (hereinafter called simply xe2x80x9cmessagexe2x80x9d) may be transmitted (or sent out) over the network by a computer connected to the network also known as a user agent or user. The sent out message is typically delivered to a mail transfer agent (or routing agent or server) by the user agent. Transfer information and a network topology are then determined by the mail transfer agent based on pre-set information stored at the mail transfer agent and message address information in the message which is analyzed by the mail transfer agent. By utilizing the analyzed information, a delivery path is typically determined to route the message to the desired destination mail box (or user agent). The message is typically delivered to the mail box of the address attached to the message which may be one or more mail boxes selected from a group of mail boxes available to the mail transfer agent.
When a xe2x80x9cgroup addressxe2x80x9d is specified by a user, a message is typically delivered to a plurality of message addresses which are correlated to the group address in advance. For example, if the user defines a group address DevGroup as including message addresses MrW, MrX, MrY, MrZ in advance and then specifies the group address DevGroup, a message is delivered to the message addresses MrW, MrX, MrY, MrZ, respectively. However, the user receiving the message typically only is able to determine that the sender of the message is user A and the addressee is DevGroup but does not know what users are included in DevGroup as members. The party receiving the message is, therefore, unable to determine from the received message what other users received a copy of the message. Furthermore, a user receiving a message in which a plurality of group addresses are written in the header, for example, a group address DevGroup is indicated in a header component xe2x80x9cTo:xe2x80x9d and a group address TestGroup is indicated in a header component xe2x80x9ccc:,xe2x80x9d is generally unable to determine which of the two groups the user is a member of based on the received message.
One known method of resolving the problem of obtaining information from group address routed messages is to replace a group address written in the header component xe2x80x9cTo:xe2x80x9d with a message address of a group member immediately before sending the message to the replaced message address. However, a problem may arise when a single group address is replaced with many message addresses, for example, 100 message addresses, as numerous (in the case of the example, 100) message addresses will exist in the header component xe2x80x9cTo:xe2x80x9d of the received message. Accordingly, a user may be required to scroll the displayed message until the body of the message finally shows up on the screen. This may undesireably burden a user attempting to read the message. The increased scrolling will typically be expected to increase as the number of group addresses written in the header is increased.
It is, therefore, one object of the present invention to provide a computer system that can provide a message processing apparatus which allows the group members to be easily known from a received message.
It is another object of the present invention to provide a computer system that can selectively display group member information without unduly interfering with the display of the content of a received message.
These and other objects are provided by the message processing control methods, apparatus and computer programming products of the present invention.
A message is assembled including a message address portion and a body portion. Message addresses are checked to determine if any are a group address. If so, an associated list of user addresses corresponding to the members of the group is retrieved from an address book database. The retrieved list is added to the message to form a transmit message. On the receiving end of the message processing, the message address and body portions are displayed in a first window responsive to a display request. The lists of addresses may also be selected and displayed in separate, optionally scrollable, windows. Accordingly, the present invention allows ready viewing of both the message and the identity of the members of groups receiving the message.
These and other objects of the present invention are provided by methods, systems and computer program products for message processing control. According to one embodiment of the present invention a method is providing including the step of obtaining a user message including a message address. It is then determined if the message address includes a group address. If the message address includes a group address, a list of user addresses associated with the group address is retrieved. A transmit message is generated including the user message and the list of user addresses. A request to display a received message is received, wherein the received message includes a second user message including a received group address and a second list of user addresses associated with the received group address, and wherein the request to display specifies whether the second list of user addresses is to be displayed with the message. The received message is displayed. When the received request to display specifies that the second list of addresses is to be displayed the second list of user addresses is also displayed.
In a particular embodiment of the present invention, the received user message includes a header portion containing the received group address and a body portion. The received message may be the transmit message and the second list of user addresses is the list of user addresses allowing a transmit message to be viewed before transmission.
In a further embodiment of the present invention, the step of displaying the message includes displaying the second header portion and the body portion of the second user message in a first window. In this embodiment, the step of displaying the second list of user addresses includes the step of displaying the second list of user addresses in a second window if the received request to display specifies that the second list of user addresses is to be displayed. The second list of user addresses may be scrolled for display within the second window responsive to a user input.
In a further embodiment of the present invention the step of receiving a request to display a received message further includes receiving a first request and then receiving a second request corresponding to a user initiated selection of a displayed indication of the received group address in the first window so as to provide a request to display which specifies that the second list of user addresses is to be displayed. In this embodiment, the step of displaying the second header portion and the body portion of the second user message is initiated responsive to the first request and the step of displaying the second list of user addresses is initiated responsive to the second request.
In a further aspect of the present invention, the user message further includes a second message address. The message address is a group address and the second message address is a second group address. In this embodiment, the step of retrieving a list of user addresses further includes the step of retrieving an additional list of user addresses associated with the second group address. The step of generating a transmit message includes the step of generating a transmit message including the list of user addresses associated with the group address and the additional list of user addresses associated with the second group address. The received user message may include a second received group address and a third list of user addresses associated with the second received group address. The third list of user addresses may be displayed in a third window when the request to display specifies that the third list of user addresses is to be displayed.
In another aspect of the present invention a first request to display is received which initiates displaying the second header portion and the body portion in a first window. A second request is then received corresponding to a user initiated selection of a displayed indication of the received group address in the first window so as to provide a request to display which specifies that the second list of user addresses is to be displayed. The display of the second list of user addresses in a second window is initiated responsive to the second request. Finally, a third request to display is received corresponding to a user initiated selection of a displayed indication of the second received group address in the first window so as to provide a request to display which specifies that the third list of user addresses is to be displayed. The third list of user addresses is displayed in a third window responsive to the third request. The list of user addresses may be retrieved from a database in which user addresses associated with group addresses are stored.
As will further be appreciated by those of skill in the art, the present invention may be embodied as a method, apparatus or computer program product.